package com.ruoyi.business.mapper;

import java.util.List;
import com.ruoyi.business.domain.BusinessReminder;

/**
 * 提醒管理 数据层
 * 
 * @author ruoyi
 */
public interface BusinessReminderMapper 
{
    /**
     * 查询提醒信息
     * 
     * @param reminderId 提醒ID
     * @return 提醒信息
     */
    public BusinessReminder selectBusinessReminderById(Long reminderId);

    /**
     * 查询提醒列表
     * 
     * @param businessReminder 提醒信息
     * @return 提醒集合
     */
    public List<BusinessReminder> selectBusinessReminderList(BusinessReminder businessReminder);
    
    /**
     * 查询待发送的提醒任务列表
     * 
     * @return 提醒任务集合
     */
    public List<BusinessReminder> selectReminderTaskList();
    
    /**
     * 检查是否已存在相同业务的未发送提醒
     * 
     * @param businessId 业务ID
     * @return 结果数量
     */
    public int checkExistingReminder(Long businessId);

    /**
     * 新增提醒
     * 
     * @param businessReminder 提醒信息
     * @return 结果
     */
    public int insertBusinessReminder(BusinessReminder businessReminder);

    /**
     * 修改提醒
     * 
     * @param businessReminder 提醒信息
     * @return 结果
     */
    public int updateBusinessReminder(BusinessReminder businessReminder);
    
    /**
     * 将任务转换为记录
     * 
     * @param businessReminder 提醒信息
     * @return 结果
     */
    public int updateReminderTaskToRecord(BusinessReminder businessReminder);
    
    /**
     * 更新提醒状态
     * 
     * @param businessReminder 提醒信息
     * @return 结果
     */
    public int updateReminderStatus(BusinessReminder businessReminder);

    /**
     * 删除提醒
     * 
     * @param reminderId 提醒ID
     * @return 结果
     */
    public int deleteBusinessReminderById(Long reminderId);

    /**
     * 批量删除提醒
     * 
     * @param reminderIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteBusinessReminderByIds(String[] reminderIds);
    
    /**
     * 按批次号查询提醒
     * 
     * @param batchNo 批次号
     * @return 提醒集合
     */
    public List<BusinessReminder> selectBusinessReminderByBatchNo(String batchNo);
} 